이더넷 프레임
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
이더넷 프레임은 이더넷 네트워크에서 데이터를 전송하기 위한 구조로, 데이터 패킷과 페이로드를 포함한다. 이더넷 프레임은 IEEE 802.3 표준에 따라 정의되며, 물리 계층 패킷, 데이터 링크 계층 프레임, 헤더, 페이로드, 프레임 검사 시퀀스(FCS), 프레임의 끝(EOF), 패킷 간 간격(IPG) 등으로 구성된다. 이더넷 프레임에는 이더넷 II, IEEE 802.3, 노벨 Raw IEEE 802.3, IEEE 802.2 LLC/SNAP 등 여러 유형이 있으며, 최대 처리량은 프레임 크기, 프로토콜 오버헤드, 물리 계층 표준 등에 의해 결정된다. 런트 프레임, CRC 불일치, 너무 긴 프레임 등 비정상적인 프레임도 존재하며, IETF는 이러한 이상 프레임에 대한 통계 정보를 수집하는 기능을 정의하고 있다.
더 읽어볼만한 페이지
- 이더넷 - 기가비트 이더넷
기가비트 이더넷은 1 Gbit/s의 전송 속도를 지원하는 이더넷 표준으로, 광섬유 및 UTP 케이블을 통해 다양한 기기에 적용되어 광대역 인터넷과 기업 네트워크의 주요 기술로 사용되었으나, 더 빠른 이더넷 기술의 발전으로 비중은 줄어들고 있지만 비용 효율성과 호환성으로 인해 중요한 역할을 지속할 것으로 예상된다. - 이더넷 - 네트워크 인터페이스 컨트롤러
네트워크 인터페이스 컨트롤러(NIC)는 컴퓨터를 네트워크에 연결하는 하드웨어 구성 요소이며, 다양한 네트워크 표준을 지원하고, 최근에는 성능 향상 기술과 가상 네트워크 인터페이스를 지원하기도 한다.
이더넷 프레임 | |
---|---|
기본 정보 | |
![]() | |
약어 | Ethernet |
종류 | 네트워크 프로토콜 |
계층 | 데이터 링크 계층 및 물리 계층 |
프로토콜 모음 | TCP/IP |
구조 | |
프리앰블 | 7 옥텟 (56 비트) |
SFD (시작 프레임 구분자) | 1 옥텟 (8 비트) |
목적지 주소 | 6 옥텟 (48 비트) |
출발지 주소 | 6 옥텟 (48 비트) |
타입/길이 | 2 옥텟 (16 비트) |
데이터 | 46-1500 옥텟 (368-12000 비트) |
FCS (프레임 검사 시퀀스) | 4 옥텟 (32 비트) |
설명 | |
역할 | 네트워크 장치 간 데이터 전송 |
특징 | CSMA/CD 방식 사용 MAC 주소 기반 주소 지정 |
사용 분야 | LAN WAN 기타 네트워크 환경 |
2. 역사
2. 1. 초기 개발
2. 2. 표준화 과정
2. 3. 발전과 확장
3. 프레임 구조
물리 코딩 하위 계층도 참조
전송 매체의 데이터 패킷과 페이로드를 포함하는 프레임은 이진 데이터로 구성된다. 이더넷은 가장 중요한 옥텟(바이트)을 먼저 전송하며, 각 옥텟 내에서는 최하위 비트가 먼저 전송된다.[3]
이더넷 프레임의 내부 구조는 IEEE 802.3에 명시되어 있다.[2] 아래 표는 최대 MTU 1500 옥텟까지의 페이로드 크기에 대해 전송되는 전체 이더넷 패킷과 내부 프레임을 보여준다. 기가비트 이더넷 및 기타 고속 이더넷 변종의 일부 구현에서는 점보 프레임으로 알려진 더 큰 프레임을 지원한다.
계층 | 프리앰블 | 프레임 시작 구분 기호(SFD) | MAC 목적지 | MAC 소스 | 802.1Q 태그(선택 사항) | 이더타입 (이더넷 II) 또는 길이 (IEEE 802.3) | 페이로드 | 프레임 검사 시퀀스 (32비트 CRC) | 패킷 간 간격 (IPG) |
---|---|---|---|---|---|---|---|---|---|
길이 (옥텟) | 7 | 1 | 6 | 6 | (4) | 2 | 42–1500 | 4 | 12 |
계층 2 이더넷 프레임 | (프레임의 일부 아님) | colspan="6" style="background:#fdd;" | | (프레임의 일부 아님) | ||||||
계층 1 이더넷 패킷 & IPG | colspan="8" style="background:#fdd;"| | ← 12 옥텟 → |
선택 사항인 802.1Q 태그는 프레임에서 추가 공간을 차지한다. IEEE 802.1ad (Q-in-Q)는 각 프레임에 여러 개의 태그를 허용한다.
== 물리 계층 패킷 ==
이더넷 패킷은 7옥테트(56비트)의 프리앰블과 1옥테트(8비트)의 '프레임 시작 구분자'(SFD, start frame delimiter)로 시작한다.[1] 프리앰블 비트 값은 1과 0을 번갈아 가며 송신자와 비트 수준에서 수신기의 클럭을 동기화할 수 있게 한다. 프리앰블 다음에는 SFD가 오며, SFD는 0이 아닌 1로 끝나 프리앰블의 비트 패턴을 끊고 실제 프레임의 시작을 알린다.[1]
물리 계층 송수신기 회로(PHY)는 이더넷 MAC을 물리 매체에 연결하는 데 필요하다. PHY와 MAC 간의 연결은 물리 매체와 독립적이며, 미디어 독립 인터페이스 제품군(MII, GMII, RGMII, SGMII, XGMII)의 버스를 사용한다. 프리앰블과 SFD 표현은 버스 너비에 따라 다르다.
표현 | 56비트(7바이트) 프리앰블 | SFD 바이트 | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
왼쪽에서 오른쪽으로 전송되는, 인코딩되지 않은 와이어상의 비트 패턴 (더 큰 심볼 대신 직렬 비트를 전송하는 이더넷 변형에 사용됨)[1] | 10101010 | 10101010 | 10101010 | 10101010 | 10101010 | 10101010 | 10101010 | 10101011 | ||||||||
이더넷 LSb 우선 순서의 십진수[1] | 85 | 85 | 85 | 85 | 85 | 85 | 85 | 213 | ||||||||
8비트 버스에 대한 16진수 LSb 우선 순서 바이트 | 0x55 | 0x55 | 0x55 | 0x55 | 0x55 | 0x55 | 0x55 | 0xD5 | ||||||||
4비트 버스에 대한 16진수 LSb 우선 순서 니블 (패스트 이더넷 또는 기가비트 송수신기의 MII 버스 또는 RGMII) | 0x5 | 0x5 | 0x5 | 0x5 | 0x5 | 0x5 | 0x5 | 0x5 | 0x5 | 0x5 | 0x5 | 0x5 | 0x5 | 0x5 | 0x5 | 0xD |
SFD 바로 뒤에는 이더넷 프레임의 첫 번째 필드인 목적지 MAC 주소가 온다.
내용 | 크기[Byte] | 범위 | |
---|---|---|---|
프리앰블 | 7 | rowspan=2 | | ↑ 물리 계층 패킷 (72–1534) ↓ |
SFD | 1 | ||
목적지 MAC 주소 | 6 | ↑ 이더넷 프레임 (64–1526) ↓ | |
송신자 MAC 주소 | 6 | ||
(VLAN 태그) | (4 or 8) | ||
유형/길이 | 2 | ||
페이로드 | 46-1500 | ||
FCS | 4 | ||
패킷 간 간격 | 12 |
IEEE 802.3에서는 위 그림과 표에 나타낸 프레임 구조를 규정하고 있다[15]。데이터는 그림의 왼쪽, 표의 위에서부터 순서대로 전송되지만, 각 바이트 내에서는 최하위 비트(LSB)를 먼저 보낸다.[16] MTU가 1500바이트 이하인 페이로드 길이를 갖는 것을 나타냈다. 기가비트 이더넷 이후에는 점보 프레임이라고 불리는 더 큰 프레임을 지원하는 제품도 있다. VLAN 태그는 옵션으로 괄호 안에 표시되어 있으며 필수 사항은 아니다. 일반적으로 4바이트이지만, 이중 태그의 경우 8바이트가 된다.
프리앰블에서는 비트의 교대 패턴 `10`을 연속적으로 사용하며, 수신 측은 이를 통해 비트 레벨에서 쉽게 동기화할 수 있다. 그 후의 SFD에서는 이 교대 패턴의 마지막이 무너져 `11`이 되며, 수신 측은 이를 통해 바이트 레벨에서 동기화하면서 프레임의 시작을 감지할 수 있다[18]。
이러한 신호는 LSB가 선두가 되는 16진 표현을 사용하는 경우가 있다. 특히 PHY (물리 계층 장치)・MAC (데이터 링크 계층 장치) 간의 병렬 버스인 MII를 경유하는 경우 등에서는 다음과 같이 나타낸다.
- 100Mbps 통신의 MII는 4 병렬 버스이기 때문에, 니블 값(4비트 값) 표현으로, 프리앰블은 14개의 `0x5`, SFD는 `0x5 0xD` 순서가 된다.
- 1Gbps 통신의 GMII는 8 병렬 버스이므로, 바이트 값(8비트 값) 표현으로, 프리앰블은 7개의 `0x55`, SFD는 `0xD5`가 된다.
== 데이터 링크 계층 프레임 ==
내용 | 크기[Byte] | 범위 | |
---|---|---|---|
프리앰블 | 7 | rowspan=2 | | ↑ 물리 계층 패킷 (72–1534) ↓ |
SFD | 1 | ||
목적지 MAC 주소 | 6 | ↑ 이더넷 프레임 (64–1526) ↓ | |
송신자 MAC 주소 | 6 | ||
(VLAN 태그) | (4 or 8) | ||
유형/길이 | 2 | ||
페이로드 | 46-1500 | ||
FCS | 4 | ||
패킷 간 간격 | 12 |
IEEE 802.3에서는 위 표에 나타낸 프레임 구조를 규정하고 있다[15]。데이터는 표의 위에서부터 순서대로 전송되지만, 각 바이트 내에서는 최하위 비트(LSB)를 먼저 보낸다.
여기에서는 MTU가 1500바이트 이하인 페이로드 길이를 갖는 것을 나타냈다. 기가비트 이더넷 이후에는 점보 프레임이라고 불리는 더 큰 프레임을 지원하는 제품도 있다.
VLAN 태그는 옵션으로 괄호 안에 표시되어 있으며 필수 사항은 아니다. 일반적으로 4바이트이지만, 이중 태그의 경우 8바이트가 된다.
이더넷 프레임 앞부분의 다음 필드를 "이더넷 헤더" 또는 "MAC 헤더"라고 부른다.
- 수신 및 송신 '''MAC 주소''' (6바이트 + 6바이트)
- '''VLAN 태그''' (Q 태그는 4바이트, Q-in-Q 태그는 8바이트) - 선택 사항이며 필수 사항은 아니다.
- '''유형/길이''' (2바이트)
레이어 2 스위치(MAC 브리지)는 헤더 내용을 보고 전송 처리를 수행한다. 해당 처리 동작은 IEEE 802.1D에서 처음 규정되었으며, 이후 개정에서 IEEE 802.1Q로 계승되었다. MAC 주소는 프레임의 전송 대상을 판단하거나, 송신처를 기록하는 데 사용된다. VLAN 태그에서는 소속된 LAN과 우선 순위(QoS)가 표시되며, 마찬가지로 전송 대상 및 전송 타이밍을 판단하는 데 사용된다.
== 헤더 ==
헤더는 목적지 및 출발지 MAC 주소(각 6옥텟 길이), EtherType 필드, 선택적으로 IEEE 802.1Q 태그 또는 IEEE 802.1ad 태그를 포함한다.
EtherType 필드는 2옥텟 길이이며 두 가지 다른 용도로 사용될 수 있다. 1500 이하의 값은 페이로드의 크기(옥텟)를 나타내는 데 사용되며, 1536 이상의 값은 EtherType으로 사용되어 프레임의 페이로드에 어떤 프로토콜이 캡슐화되었는지 나타낸다. EtherType으로 사용될 때, 프레임의 길이는 패킷 간 간격 및 유효한 프레임 검사 시퀀스(FCS)의 위치에 의해 결정된다.[21]
IEEE 802.1Q 태그 또는 IEEE 802.1ad 태그가 있는 경우, 이는 가상 LAN(VLAN) 멤버십과 IEEE 802.1p 우선 순위를 나타내는 4옥텟 필드이다. 태그의 처음 두 옥텟은 '''T'''ag '''P'''rotocol '''ID'''entifier(TPID)라고 하며, 프레임이 802.1Q 또는 802.1ad 태그임을 나타내는 EtherType 필드 역할을 한다. 802.1Q는 0x8100의 TPID를 사용한다. 802.1ad는 0x88a8의 TPID를 사용한다.
이더넷 프레임 앞부분의 다음 필드를 "이더넷 헤더" 또는 "MAC 헤더"라고 부른다.
- 수신 및 송신 '''MAC 주소''' (6바이트 + 6바이트)
- '''VLAN 태그''' (Q 태그는 4바이트, Q-in-Q 태그는 8바이트) - 선택 사항이며 필수 사항은 아니다.
- '''유형/길이''' (2바이트)
레이어 2 스위치(MAC 브리지)는 헤더 내용을 보고 전송 처리를 수행한다. 해당 처리 동작은 IEEE 802.1D에서 처음 규정되었으며, 이후 개정에서 IEEE 802.1Q로 계승되었다. MAC 주소는 프레임의 전송 대상을 판단하거나, 송신처를 기록하는 데 사용된다. VLAN 태그에서는 소속된 LAN과 우선 순위(QoS)가 표시되며, 마찬가지로 전송 대상 및 전송 타이밍을 판단하는 데 사용된다.
타입/길이 필드는 두 가지 용도로 사용된다.[21]
- 이 값이 1536(
0x0600
) 이상인 경우, EtherType로 해석된다. - 이 값이 1500(
0x05DC
) 이하인 경우, 페이로드 길이로 해석된다.
1500과 1536 사이의 값은 정의되지 않았다.
대부분의 이더넷 프레임은 EtherType을 사용한다. EtherType은 페이로드 필드에 캡슐화된 데이터가 어떤 프로토콜인지 나타내며, 예를 들어
0x0800
은 IPv4 패킷, 0x0806
은 ARP 프레임, 0x86DD
는 IPv6 프레임, 0x8100
은 VLAN 태그가 있는 프레임을 나타낸다.[22] 이때 프레임 길이는 명시되어 있지 않지만, FCS나 EOF 등에 의해 프레임의 끝을 감지하여 프레임 길이를 알 수 있다.== 페이로드 ==
페이로드(Payload)는 가변 길이 필드이다. 최소 크기는 64옥텟(바이트)의 최소 프레임 전송 요구 사항에 의해 결정된다. 헤더와 FCS를 고려할 때, 802.1Q 태그가 있으면 최소 페이로드는 42옥텟이고, 없으면 46옥텟이다. 실제 페이로드가 최소값보다 작으면 패딩 옥텟이 그에 따라 추가된다. IEEE 표준은 최대 페이로드를 1500옥텟으로 지정한다. 비표준 점보 프레임은 이를 지원하도록 구축된 네트워크에서 더 큰 페이로드를 허용한다.
페이로드(Payload)는 "MAC 클라이언트 데이터"라고도 부르며, 통신에 사용되는 주 데이터를 배치한다. 임의의 프로토콜을 배치할 수 있으며, 많은 경우 제3계층에 해당하는 인터넷 프로토콜(IP) 패킷의 데이터가 IP 헤더를 포함한 형태로 저장된다.
최소 페이로드 길이는 VLAN 태그가 있는 경우 42바이트, 없는 경우 46바이트이다. 이 값은 프레임 길이가 최소 64바이트가 되도록 설정되어 있으며, 초기 이더넷에서의 CSMA/CD의 충돌 감지에 걸리는 시간에 따라 결정되었다[23] 실제 페이로드가 최소 페이로드 길이보다 짧은 경우에는, 최소 페이로드 길이가 될 때까지 제로 패딩된다[24]
최대 페이로드 길이는 초기에는 1500바이트로 규정되었지만, 1998년에 IEEE 802.3ac에서 VLAN 태그 대응을 위해 1504바이트, 2006년에 IEEE 802.3as에서 1982바이트로 확장되었다. 규격 외의 독자적인 사양인 점보 프레임에서는, 더 큰 페이로드 길이에 대응할 수 있는 구현도 있다.
== 프레임 검사 시퀀스 (FCS) ==
프레임 검사 시퀀스(FCS)는 수신 측에서 수신된 전체 프레임 내에서 손상된 데이터를 감지할 수 있도록 하는 4옥텟 순환 중복 검사(CRC)이다. 표준에 따르면, FCS 값은 보호된 MAC 프레임 필드(소스 및 대상 주소, 길이/유형 필드, MAC 클라이언트 데이터 및 패딩, 즉 FCS를 제외한 모든 필드)의 함수로 계산된다.
표준에 따라, 이 계산은 왼쪽 시프트 CRC-32(다항식 = 0x4C11DB7, 초기 CRC = 0xFFFFFFFF, CRC는 사후 보완, 확인 값 = 0x38FB2284) 알고리즘을 사용하여 수행된다. 표준은 데이터가 최하위 비트(비트 0)부터 먼저 전송되는 반면, FCS는 최상위 비트(비트 31)부터 먼저 전송된다고 명시한다.[1] 대안은 오른쪽 시프트 CRC-32(다항식 = 0xEDB88320, 초기 CRC = 0xFFFFFFFF, CRC는 사후 보완, 확인 값 = 0x2144DF1C)를 사용하여 CRC를 계산하는 것이며, 이는 FCS의 비트 반전인 CRC를 생성하고, 데이터와 CRC를 모두 최하위 비트부터 먼저 전송하여 동일한 전송 결과를 얻는다.
표준은 수신기가 데이터를 수신하면서 새로운 FCS를 계산한 다음, 수신된 FCS와 수신기가 계산한 FCS를 비교해야 한다고 명시한다. 대안은 수신된 데이터와 FCS 모두에 대해 CRC를 계산하는 것이며, 이는 고정된 0이 아닌 "확인" 값을 생성한다. (CRC는 CRC 생성 중에 사후 보완되므로 결과는 0이 아닙니다). 데이터는 최하위 비트부터 먼저 수신되므로 데이터 옥텟을 버퍼링하지 않기 위해 수신기는 일반적으로 오른쪽 시프트 CRC-32를 사용한다. 이로 인해 "확인" 값(때로는 "매직 검사"라고도 함)은 0x2144DF1C가 된다.[5]
그러나 논리적으로 오른쪽 시프트 CRC의 하드웨어 구현은 CRC를 계산하기 위한 기초로 왼쪽 시프트 선형 피드백 시프트 레지스터를 사용할 수 있으며, 비트를 반전시켜 확인 값 0x38FB2284를 생성한다. CRC 보완은 계산 후 및 전송 중에 수행될 수 있으므로 하드웨어 레지스터에 남아 있는 것은 보완되지 않은 결과이므로, 오른쪽 시프트 구현의 잔여 값은 0x2144DF1C의 보수 = 0xDEBB20E3이고, 왼쪽 시프트 구현의 잔여 값은 0x38FB2284의 보수 = 0xC704DD7B이다.
프레임 검사 시퀀스(FCS)는 송신 측이 프레임의 마지막에 추가하는 4바이트 값으로, 이를 통해 수신 측에서 프레임 전체의 데이터 손상을 감지하고 폐기할 수 있다. 또한, 수신 측에서 페이로드 길이를 몰라도 FCS를 검증하여 프레임의 끝을 알 수 있게 된다[27][28]。
FCS 값은 32비트 순환 중복 검사(CRC)이며, 이더넷 프레임에서 FCS 필드를 제외한 부분(송신처 MAC, 수신처 MAC, 길이/타입, 페이로드)을 입력으로 계산한다. 이 계산에서는 CRC-32의 표준 다항식
0x04C11DB7
를 사용한다. CRC 값은 최상위 비트(비트 31)를 먼저, 최하위 비트를 마지막에 전송하도록 FCS 필드에 할당된다[29]。이 프레임 수신 시에는 CRC를 동일하게 계산하여 프레임 내의 FCS와 비교한다[30]。위의 규정과 등가인 구현 방법으로, 다음과 같은 어레인지가 행해지는 경우가 있다.
산출 방법 | 순방향(좌 시프트) | 역방향(우 시프트) |
---|---|---|
CRC 다항식 | 0x04C11DB7 | 0xEDB88320 |
CRC 검증 값 | 0x38FB2284 | 0x2144DF1C |
CRC 검증 값의 보수 | 0xC704DD7B | 0xDEBB20E3 |
- 비트 열을 역순으로 하여 연산을 하는 경우가 있다. 프레임 내의 다른 필드는 LSB가 선두에 오는 형식이기 때문에, FCS도 이에 맞춰서 미리 비트 열을 역순으로 하고 오른쪽 시프트 CRC 다항식을 사용하는 것이 효율적이다.
- 수신 시에 송신 측과 같은 방법으로 CRC를 산출하는 것이 아니라, FCS를 포함한 수신 프레임 전체에 CRC 산출을 하는 경우가 있다. 이 결과, 오류가 없으면 항상 같은 비 제로 값을 얻을 수 있기 때문에, 이것을 "CRC 검증 값", "CRC 매직 체크" 등으로 부른다[31]。
- CRC 산출의 회로 구현에서는, LFSR에 기록하는 값은 보수를 취하지 않는 경우가 있다. 이 경우에는, 송신 시나 취득 시에 보수 변환을 할 필요가 있다.
이러한 방식에 의해, 연산에 사용하는 값은 오른쪽 표와 같은 변형이 있다.
== 프레임의 끝 (EOF) ==
프레임의 종료는 일반적으로 물리 계층의 데이터 스트림 종료 기호 또는 반송파 신호 손실로 표시된다. 10BASE-T에서 수신 스테이션은 반송파 손실을 통해 전송된 프레임의 종료를 감지한다.[6] 이후의 물리 계층은 모호성을 피하기 위해 명시적인 '데이터 종료' 또는 '스트림 종료' 기호 또는 시퀀스를 사용한다. 특히 반송파가 프레임 간에 지속적으로 전송되는 경우, 예를 들어 프레임 전후에 전송되는 특수 기호를 사용하는 8b/10b 인코딩 방식을 가진 기가비트 이더넷이 있다.[6][7][32][33]
== 패킷 간 간격 (IPG) ==
패킷 간 간격(IPG)은 패킷 사이의 유휴 시간이다.[34] 송신기는 패킷을 전송한 후 다음 패킷을 전송하기 전에 최소 96 비트(12 옥텟)의 유휴 회선 상태를 전송해야 한다.[34] 이는 CSMA/CD의 물리적 제약에 따라 결정된다.[34]
3. 1. 물리 계층 패킷
이더넷 패킷은 7옥테트(56비트)의 프리앰블과 1옥테트(8비트)의 '프레임 시작 구분자'(SFD, start frame delimiter)로 시작한다.[1] 프리앰블 비트 값은 1과 0을 번갈아 가며 송신자와 비트 수준에서 수신기의 클럭을 동기화할 수 있게 한다. 프리앰블 다음에는 SFD가 오며, SFD는 0이 아닌 1로 끝나 프리앰블의 비트 패턴을 끊고 실제 프레임의 시작을 알린다.[1]물리 계층 송수신기 회로(PHY)는 이더넷 MAC을 물리 매체에 연결하는 데 필요하다. PHY와 MAC 간의 연결은 물리 매체와 독립적이며, 미디어 독립 인터페이스 제품군(MII, GMII, RGMII, SGMII, XGMII)의 버스를 사용한다. 프리앰블과 SFD 표현은 버스 너비에 따라 다르다.
표현 | 56비트(7바이트) 프리앰블 | SFD 바이트 | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
왼쪽에서 오른쪽으로 전송되는, 인코딩되지 않은 와이어상의 비트 패턴 (더 큰 심볼 대신 직렬 비트를 전송하는 이더넷 변형에 사용됨)[1] | 10101010 | 10101010 | 10101010 | 10101010 | 10101010 | 10101010 | 10101010 | 10101011 | ||||||||
이더넷 LSb 우선 순서의 십진수[1] | 85 | 85 | 85 | 85 | 85 | 85 | 85 | 213 | ||||||||
8비트 버스에 대한 16진수 LSb 우선 순서 바이트 | 0x55 | 0x55 | 0x55 | 0x55 | 0x55 | 0x55 | 0x55 | 0xD5 | ||||||||
4비트 버스에 대한 16진수 LSb 우선 순서 니블 (패스트 이더넷 또는 기가비트 송수신기의 MII 버스 또는 RGMII) | 0x5 | 0x5 | 0x5 | 0x5 | 0x5 | 0x5 | 0x5 | 0x5 | 0x5 | 0x5 | 0x5 | 0x5 | 0x5 | 0x5 | 0x5 | 0xD |
SFD 바로 뒤에는 이더넷 프레임의 첫 번째 필드인 목적지 MAC 주소가 온다.
내용 | 크기[Byte] | 범위 | |
---|---|---|---|
프리앰블 | 7 | rowspan=2 | | ↑ 물리 계층 패킷 (72–1534) ↓ |
SFD | 1 | ||
목적지 MAC 주소 | 6 | ↑ 이더넷 프레임 (64–1526) ↓ | |
송신자 MAC 주소 | 6 | ||
(VLAN 태그) | (4 or 8) | ||
유형/길이 | 2 | ||
페이로드 | 46-1500 | ||
FCS | 4 | ||
패킷 간 간격 | 12 |
IEEE 802.3에서는 위 그림과 표에 나타낸 프레임 구조를 규정하고 있다[15]。데이터는 그림의 왼쪽, 표의 위에서부터 순서대로 전송되지만, 각 바이트 내에서는 최하위 비트(LSB)를 먼저 보낸다. MTU가 1500바이트 이하인 페이로드 길이를 갖는 것을 나타냈다. 기가비트 이더넷 이후에는 점보 프레임이라고 불리는 더 큰 프레임을 지원하는 제품도 있다. VLAN 태그는 옵션으로 괄호 안에 표시되어 있으며 필수 사항은 아니다. 일반적으로 4바이트이지만, 이중 태그의 경우 8바이트가 된다.
프리앰블에서는 비트의 교대 패턴 `10`을 연속적으로 사용하며, 수신 측은 이를 통해 비트 레벨에서 쉽게 동기화할 수 있다. 그 후의 SFD에서는 이 교대 패턴의 마지막이 무너져 `11`이 되며, 수신 측은 이를 통해 바이트 레벨에서 동기화하면서 프레임의 시작을 감지할 수 있다[18]。
이러한 신호는 LSB가 선두가 되는 16진 표현을 사용하는 경우가 있다. 특히 PHY (물리 계층 장치)・MAC (데이터 링크 계층 장치) 간의 병렬 버스인 MII를 경유하는 경우 등에서는 다음과 같이 나타낸다.
- 100Mbps 통신의 MII는 4 병렬 버스이기 때문에, 니블 값(4비트 값) 표현으로, 프리앰블은 14개의 `0x5`, SFD는 `0x5 0xD` 순서가 된다.
- 1Gbps 통신의 GMII는 8 병렬 버스이므로, 바이트 값(8비트 값) 표현으로, 프리앰블은 7개의 `0x55`, SFD는 `0xD5`가 된다.
3. 2. 데이터 링크 계층 프레임
물리 계층 패킷(72–1534)
↓
이더넷 프레임
(64–1526)
↓